package com.parktech.sun.utils.action;


//import org.apache.log4j.Logger;

import java.io.IOException;
import java.util.HashMap;

/**
 * @title 短信发送器
 * @author defier Lai
 * Aug 22, 2009 6:38:50 PM
 *
 */
public class SmsProcessor {
	
//	private final static Logger LOG = Logger.getLogger(SmsProcessor.class);

	private final static String RECV_ENCODING = "utf8";
	private final static String MSG_TYPE = "sms";
	
	/**
 	0,send success!   　 发送成功
	1,Send fail!   　　　发送失败，可能是余额不足
	2,Login fail!   　　　帐户或者口令错误，或者帐户被停用或者帐户不存在。
	3,消息类型错误!  　如果是发送短信，请给出ＳＭＳ
	4,信息内容超长!　　
	5,非网络版号码，无法使用此方法!　　　
	6,扩展号和特服号相加超长　　
	9,xxx xxx为发生异常的具体异常内容
	*/
	public String send(String content, String mobiles) {
		HashMap<String, String> parameters = new HashMap<String, String>();
		parameters.put("Sd_UserName", ConfigUtil.getConfigValue("UserName"));
		parameters.put("Sd_UserPsd", ConfigUtil.getConfigValue("UserPsd"));
		parameters.put("Sd_MsgType", MSG_TYPE);
		parameters.put("Sd_Phones", mobiles);
		parameters.put("Sd_MsgContent", content);
		parameters.put("Sd_SchTime", "");
		parameters.put("Sd_Sequence", "99");
		parameters.put("Sd_ExNumber", "1000");
        BDom4j dom = null;
        try {
            dom = HttpRequestProxy.postRequest(parameters,
                    ConfigUtil.getConfigValue("UserUrl"), RECV_ENCODING, RECV_ENCODING);
        } catch (IOException e) {
            e.printStackTrace();
            return "failed";
        }
//        LOG.info("短信发送回复:\r\n" + dom.getDocument().asXML());
		String rtnMsg = dom.getDocument().asXML();
		System.out.println("短信发送回复:\r" +rtnMsg);
		if(rtnMsg.indexOf("成功")!=-1 && rtnMsg.indexOf("0")!=-1){
			return "success";
		}
		return "failed";
	}
	/*public static void main(String[] args) {
		SmsProcessor sms=new SmsProcessor();
		try {
			String meg=sms.send("hello", "15968124622");
			System.out.println(meg);
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}*/
	
	
}

